package com.caiheng.api.entity.event;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 巡检巡更、保洁等 执行计划对象 event_plan
 *
 * @author ruoyi
 * @date 2023-12-25
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("event_plan")
public class EventPlan implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * $column.columnComment
     */
    private Integer propertyId;

    /**
     * $column.columnComment
     */
    private Integer estateId;

    /**
     * 任务名称
     */
    private String planTitle;

    /**
     * 计划类型id
     */
    private Integer eventTypeId;

    /**
     * 计划类型名称
     */
    private String eventTypeName;

    /**
     * 计划运作类型 0 - 自行作业 1 - 外包作业
     */
    private Integer planType;

	/**
	 * 周期类型：day - 每天  week - 每周  month - 每月  season - 每季度  half-year - 每半年  year - 每年
	 */
	private String cycleType;

	/**
	 * 选中的周期类型的 日期，多个逗号分隔
	 */
	private String cycleDays;

	/**
	 * 时间段开始点
	 */
	private String beginRangeTime;

	/**
	 * 时间段结束点
	 */
	private String endRangeTime;

	/**
	 *  外包企业id
	 */
	private Integer outCompanyId;

    /**
     * 完成方式 巡视人的操作方式 0 - 每个区域必须巡视 1 - 巡视人抽查  2 - 巡视人不巡视
     */
    private Integer finishType;

    /**
     * 任务计划开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /**
     * 任务计划结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 任务状态 0 - 未开始 1 - 进行中 2 - 已完成
     */
    private Integer state;

    /**
     * 禁用状态 0 - 禁用 1 - 开启
     */
    private Integer useable;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

}
